# 求阶乘
# 编写程序，求出某个自然数的阶乘。
# 一个正整数的阶乘是小于及等于该数的正整数的积，并且0的阶乘为1。
# 自然数n的阶乘写作n!

# 基础 累乘 循环

n = 4

# 非递归
res = 1
for i in range(1, n+1):
    res *= i 

print(res)

def calc(n):
    res = 1
    if n == 0:
        return res
    for i in range(2, n+1):
        res *= i
    return res

num = int(input())
res = calc(num)
print(res)

# 递归
def jc(num):
    return 1 if num == 1 else num * jc(num-1)
    # if num == 1:
    #     return 1
    # else:
    #     return num * jc(num-1)

print(jc(n))
